出乎预料:开发人员是如何使用数据库的?
结合最近JetBrains公司(就是出品IntelliJ IDEA的)的一份调查报告,我们来看看开发人员是如何使用数据库的。
这份调查报告的名字就是:今天开发人员是如何使用数据库的 - HOW DEVELOPERS USE DATABASES TODAY 。
JetBrains 说他们在考虑出品一个数据库和SQL的开发工具,因此开展了一个调研,收集到大约2000份反馈问卷,得出了很有趣的一些答案。
首先是评估开发人员的群体,根据Evans的分析数据,据说全球有1900万的开发人员,而StackOverflow上的投票结果,36%的开发人员最近有和SQL打交道,也就是约700万人在和SQL交互。
典型的,开发语言和数据库SQL开发关系密切,以下是开发语言的选择,数据显示:JavaScript (51%), Java/Scala (50%), PHP (30%), C# (28%), Python (23%) and Ruby (4%)。可以看出,在开发群体中,Java仍然是最为重要的开发语言。
在参与调查的2000多人中(大多数是高级),90%受访者表示,他们会直接连接到生产数据库运行查询和报表; 85%的受访者表示他们会直接编写SQL代码。
当被问及谁对性能负责?约90%的开发者声称负责性能,有30%的回复称DBA负责性能。高性能查询仍然是大家关注重点,并且优化仍是实现这一目标的关键手段。
这个调研我感觉和中国的状况相仿,所以SQL审核服务对于用户相当重要,SQL管控和优化路漫漫,需要大家一起努力。
你愿意到哪里去?你又是从哪里来?
以下是两个问题的答案:
你最愿意迁移到哪个数据库上去,在758个回答中,20%的人想去PG,去Oracle数据库的大约是7%;
你希望从哪里逃出去,在1428个回答中,65%的人想逃离MySQL,Oracle的用户是最忠诚,最不想离开的。
接近65%的受访者将最关心的数据库问题投给了性能,无论何时,性能仍然是大家最实在的体验和关注点。
那么大家又是如何依赖数据去实现业务逻辑呢?
有50%的受访者承认他们使用触发器来处理事件,并保持数据完整性,45%受访者还使用用户自定义的函数。
存储过程仍然被广泛使用,近70%的用户使用其实现功能,而对于企业级数据库如Oracle或SQL Server的使用者,使用存储的过程的的用户比例更是达到77%,甚至更高,触发器在这部分用户中也高达60%的占比。
所以并不奇怪,30%的团队说明他们都拥有专门的数据库管理员。
这份报告得出的关键结论如下:
与关系数据库和SQL相关的工作不但没有减少,而且随着全球开发者社区的发展自然扩大;
开发人员不断编写SQL代码,浏览数据,运行查询,并且持续关注性能。很多业务逻辑仍然驻留在数据库中:存储过程和触发器继续被大量使用;
数据库软件并未停滞不前:令人印象深刻的PostgreSQL取得快速发展,成为竞争的主要参与者;NoSQL数据库肯定占据自己的位置,但并没有对关系型数据库产生重要影响;这让我们相信SQL仍将是处理数据的坚实可靠的工具;
在走向云的过程中,亚马逊目前是厂商之中的绝对领导者,尽管如此,云的未来仍有很长的路要走;参与大数据开发人员的数量甚至比我们期望看到更高。似乎越来越多的人停止谈论大数据,并开始行动 - 这是很好的;
报告来自于JetBrains,其中的数据和观点供参考:
https://www.jetbrains.com/datagrip/how-developers-use-databases-today/
我们也来个小投票吧:
搜索 盖国强(Eygle)微信号:eeygle,或者扫描下面二维码,备注:云和恩墨大讲堂,即可入群。每周与千人共享免费技术分享,与讲师在线讨论。